home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Collection of Tools & Utilities
/
Collection of Tools and Utilities.iso
/
c
/
turbofix.zip
/
TURBOFIX.DOC
< prev
Wrap
Text File
|
1987-06-23
|
16KB
|
408 lines
The following material consists of three patches for Borland's Turbo C
version 1.0. It was taken from the notes newsgroup comp.sys.ibm.pc and
was originally posted as a reply to a message reporting a bug in the
handling of floating division of two constants. Part of the original
message is preserved below (the lines prefixed with >).
The bug is reported to have been only in the earliest copies of Turbo
C shipped. It is easy enough to see if your copy has it, just do the
test outlined below. If you get 0.8 as the answer, your copy has the
bug.
The other two patches claim to fix other problems. These are outlined
below.
Though I do not know the original source of the patches, I believe them
to be authoritative.
-------- Paul J. Gans
========================================================================
Date: 22 Jun 87 22:29:10 GMT
From: cmcl2!yale!husc6!panda!teddy!jpn (John P. Nelson)
Newsgroups: comp.sys.ibm.pc
Subject: Re: Turbo C division bug
>It [Turbo C] does, however, seem to have a serious bug with the floating
>point division routines. If your program does division on two constants:
>
>float x;
>
>x = 5.0/4.0;
>
>The result will be as if the division was inverted (i.e x = 4.0/5.0)
And here is the patch. Apparently only the earliest copies are afflicted
with the bug. Enjoy.
PRODUCT : TURBO C
VERSION : 1.0
OS : PC-DOS
DATE : MAY 20, 1987 PAGE : 1/2
TITLE : FLOATING POINT EVALUATION - PATCH
The following patch solves a problem with dividing floating point
evaluation.
To apply this patch, you will need to use the DOS utility DEBUG.COM.
You may obtain a copy of DEBUG.COM from one of your original PC-DOS
or MS-DOS diskettes.
NOTE: 1. Do not patch your original Turbo C disk, use a working or
backup copy of TCC.EXE and TC.EXE for this patch.
2. DEBUG is not sensitive to upper and lower case. All ad-
dresses are listed in upper case for ease of readibility.
3. XXXX,YYYY,ZZZZ are hexidecimal digits returned by DEBUG.
You must replace these digits accordingly when typing
in your commands.
4. While in DEBUG, the prompt will appear as a dash (-).
5. If you do not receive the appropriate response,press "q"
followed by <Enter>, to exit from DEBUG. Check your
version number and, if correct, try again.
6. TCC.EXE and TC.EXE will not fit together onto a 360K disk.
To patch both programs on a floppy disk, you may need to
copy TCC.EXE and DEBUG.COM onto one disk and perform the
patch. Save the patched version of TCC.EXE to another
disk. Repeat the same steps using TC.EXE.
At the DOS prompt, type the following information exactly as it
appears (Conclude each line by pressing <Enter>).
PRODUCT : TURBO C
VERSION : 1.0
OS : PC-DOS
DATE : MAY 20, 1987 PAGE : 2/2
TITLE : DIVISION OF CONSTANTS - PATCH
Patch for TCC.EXE
Type the following: You will see:
ren tcc.exe tcc.xex<Enter> A>
debug tcc.xex<Enter> -
r<Enter> ... CS=XXXX ...
-
h XXXX 2420<Enter> YYYY ZZZZ
-
e YYYY:369<Enter> YYYY:0369 0A.
6<Enter> -
e YYYY:36F<Enter> YYYY:036F 06.
A<Enter> -
w<Enter> Writing 2948A bytes
q<Enter> A>
ren tcc.xex tcc.exe<Enter>
Patch for TC.EXE
Type the following: You will see:
ren tc.exe tc.xex<Enter> A>
debug tc.xex<Enter> -
r<Enter> ... CS=XXXX ...
-
h XXXX 2D01<Enter> YYYY ZZZZ
-
e YYYY:35E<Enter> YYYY:035E 0A.
6<Enter> -
e YYYY:364<Enter> YYYY:0364 06.
A<Enter> -
w<Enter> Writing 38759 bytes
q<Enter> A>
ren tc.xex tc.exe<Enter>
=============================================================================
Date: 22-Jun-87 18:54 EDT
From: acf4!cmcl2!yale!husc6!panda!teddy!jpn (John P. Nelson)
Newsgroups: comp.sys.ibm.pc
Subject: Turbo C structure bug (+Fix)
PRODUCT : TURBO C NUMBER : 355
VERSION : 1.0
OS : PC-DOS
DATE : May 28, 1987 PAGE : 1/1
TITLE : STRUCTURE PUSH FLOATING POINT PATCH
______________________________________________________________________________
The following patch solves a problem with pushing structures
with floating point elements onto the stack in Turbo C.
To apply this patch, you will need to use the DOS utility DEBUG.COM.
You may obtain a copy of DEBUG.COM from one of your original PC-DOS
or MS-DOS diskettes.
NOTE: 1. Do not patch your original Turbo C disk, use a working or
backup copy of TCC.EXE and TC.EXE for this patch.
2. DEBUG is not sensitive to upper and lower case. All ad-
dresses are listed in upper case for ease of readibility.
3. XXXX,YYYY,ZZZZ are hexidecimal digits returned by DEBUG.
You must replace these digits accordingly when typing
in your commands.
4. While in DEBUG, the prompt will appear as a dash (-).
5. If you do not receive the appropriate response,press "q"
followed by <Enter>, to exit from DEBUG. Check your
version number and, if correct, try again.
6. TCC.EXE and TC.EXE will not fit together onto a 360K disk.
To patch both programs on a floppy disk, you may need to
copy TCC.EXE and DEBUG.COM onto one disk and perform the
patch. Save the patched version of TCC.EXE to another
disk. Repeat the same steps using TC.EXE.
At the DOS prompt, type the following information exactly as it
appears (Conclude each line by pressing <Enter>).
Patch for TCC.EXE
Type the following: You will see:
ren tcc.exe tcc.xex<Enter> A>
debug tcc.xex<Enter> -
r<Enter> ... CS=XXXX ...
-
h XXXX 1C0C<Enter> YYYY ZZZZ
-
e YYYY:2FAD<Enter> YYYY:2FAD 25.
A9<Space> YYYY:2FAD 25.A9 01.
<Space> YYYY:2FAD 25.A9 01. 00.
<Space> YYYY:2FB0 81.
74<Space> YYYY:2FB0 81.74 E2.
0B<Space> YYYY:2FB0 81.74 E2.0B 00.
40<Space> YYYY:2FB0 81.74 E2.0B 00.40 00.
26<Space> YYYY:2FB0 81.74 E2.0B 00.40 00.26
0B.
83<Space> YYYY:2FB0 81.74 E2.0B 00.40 00.26
0B.83 D0.
47<Space> YYYY:2FB0 81.74